package cn.hk.dept.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 部门表
 * </p>
 *
 * @author xu
 * @since 2023-03-09
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sys_dept")
@ApiModel(value = "Dept对象", description = "部门表")
public class Dept implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "部门id")
    @TableId(value = "dept_id", type = IdType.AUTO)
    private Long deptId;

    @ApiModelProperty(value = "父部门id")
    private Long parentId;

    @ApiModelProperty(value = "祖级列表")
    private String ancestors;

    @ApiModelProperty(value = "部门名称")
    private String deptName;

    @ApiModelProperty(value = "机构编码")
    private String deptCode;

    @ApiModelProperty(value = "显示顺序")
    private Integer orderNum;

    @ApiModelProperty(value = "负责人")
    private String leader;

    @ApiModelProperty(value = "负责人联系电话")
    private String phone;

    @ApiModelProperty(value = "负责人邮箱")
    private String email;

    @ApiModelProperty(value = "部门状态（0正常 1停用）")
    private String status;

    @ApiModelProperty(value = "删除标志（0代表存在 2代表删除）")
    private String delFlag;

    @ApiModelProperty(value = "创建者")
    private String createBy;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "更新者")
    private String updateBy;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    @ApiModelProperty(value = "角色编码")
    private Long roleId;

    @ApiModelProperty(value = "机构类型：1：总平台；2：社区平台；3：科室")
    private String deptType;

    @ApiModelProperty(value = "所在地址")
    private String address;

    @ApiModelProperty(value = "机构联系电话（座机）")
    private String telPhone;

    @ApiModelProperty(value = "社区简介")
    private String profile;

    @ApiModelProperty(value = "是否开通：1：开通；0：未开通")
    private String isOpen;

    @ApiModelProperty(value = "社区开通时间")
    private Date openTime;

    @ApiModelProperty(value = "门诊类型：1：城镇接种门诊；2：乡接种门诊；3：村级接种点")
    private String clinicType;

    @ApiModelProperty(value = "所属行政区划名称")
    private String areaName;

    @ApiModelProperty(value = "所属行政区划编码")
    private String areaCode;

    @ApiModelProperty(value = "是否可现场取号")
    private Integer isGetNum;

    @ApiModelProperty(value = "所属人群(0所有人 1儿童 2孕妇 3普通人 4老年人)")
    private Integer population;

    @ApiModelProperty(value = "是否开通社区门诊（0否 1是）")
    private Integer isDeptMz;

    @ApiModelProperty(value = "疫苗id")
    @TableField(exist = false)
    private Long vaccinesId;

    @ApiModelProperty(value = "疫苗库存情况； 0库存充足 1库存紧缺 2无库存")
    @TableField(exist = false)
    private Integer adequate;

}
